Device Interaction with Spatially Aware Gestures

ABSTRACT

Described is a system and technique for providing the ability for a user to interact with one or more devices by performing gestures that mimic real-world physical analogies. More specifically, the techniques described herein provide the ability for a user to interact with a device by limiting the conscious gesturing for a computer component by camouflaging computer-recognizable gestures within manipulations of a physical objects.

BACKGROUND

Computer systems employ various techniques in order to provide improveduser interfaces. One such technique is the ability to receive variousforms of input in addition to physical inputs such as those from acontroller, keyboard, and/or mouse. For example, a system may include agesture interface in order to receive inputs via gesture movements.These systems, however, often require the user to learn and performexplicitly defined gestures. Moreover, gestures may involve unusualand/or conspicuous movements to aid in the process of gesturerecognition. Accordingly, these predefined gestures often do not feelnatural or intuitive to a user.

BRIEF SUMMARY

Described is a system and technique for providing the ability for a userto interact with one or more devices by performing gestures that areintuitive to a user. In an implementation, described is a methodincluding detecting, by a computing device, a first user within afield-of-view of a capture device operatively coupled to the computingdevice, and detecting a first gesture performed by the first user, thefirst gesture performed while holding a first device with a first hand.The method may also include identifying the first device and sending, bythe computing device and in response to the first gesture, aninstruction to the first device to perform an action.

In an implementation, described is a device including a processorconfigured to detect, by a computing device, a first user within afield-of-view of a capture device operatively coupled to the computingdevice, and detect a first gesture performed by the first user, thefirst gesture performed while holding a first device with a first hand.The processor may also be configured to identify the first device andsend, by the computing device and in response to the first gesture, aninstruction to the first device to perform an action.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are included to provide a furtherunderstanding of the disclosed subject matter, are incorporated in andconstitute a part of this specification. The drawings also illustrateimplementations of the disclosed subject matter and together with thedetailed description serve to explain the principles of implementationsof the disclosed subject matter. No attempt is made to show structuraldetails in more detail than may be necessary for a fundamentalunderstanding of the disclosed subject matter and various ways in whichit may be practiced.

FIG. 1 illustrates a functional block diagram of a representative deviceaccording to an implementation of the disclosed subject matter.

FIG. 2 illustrates an example network arrangement according to animplementation of the disclosed subject matter.

FIG. 3 illustrates an example arrangement of a device capturing gesturemovements according to an implementation of the disclosed subjectmatter.

FIG. 4 illustrates a flow diagram of a device recognizing gesturesaccording to an implementation of the disclosed subject matter.

FIG. 5 illustrates an example of a user gesturing by showing a displayscreen of a first device to a second device according to animplementation of the disclosed subject matter.

FIG. 6 illustrates an example of a user gesturing by positioning adevice proximal to a hand of another user according to an implementationof the disclosed subject matter.

FIG. 7 illustrates an example of a user gesturing by touching a firstdevice and then a second device according to an implementation of thedisclosed subject matter.

DETAILED DESCRIPTION

Described is a system and technique for providing the ability for a userto interact with one or more devices by performing gestures that areintuitive to a user. More specifically, the techniques described hereinprovide the ability for a user to interact with a device by limitingconscious gesturing by camouflaging recognizable gestures withinphysical manipulations of objects. Accordingly, a user may interact witha device in manner that feels less contrived and relates to a user'sunderstanding of the physical world. For example, sharing a content itemby handing the device displaying the content to another user feelsintuitive to the user because the gesture mimics the sharing of objectin the real-world.

FIG. 1 illustrates a functional block diagram of a representative deviceaccording to an implementation of the disclosed subject matter. Thedevice 10 may include a bus 11, processor 12, memory 14, I/O controller16, communications circuitry 13, storage 15, and a capture device 19.The device 10 may also include or may be coupled to a display 18 and oneor more I/O devices 17.

The device 10 may include or be part of a variety of types of devices,such as a set-top box, television, media player, mobile phone (includinga “smartphone”), computer, or other type of device. The processor 12 maybe any suitable programmable control device and may control theoperation of one or more processes, such as gesture recognition asdiscussed herein, as well as other processes performed by the device 10.As described herein, actions may be performed by a computing device,which may refer to a device (e.g. device 10) and/or one or moreprocessors (e.g. processor 12). The bus 11 may provide a data transferpath for transferring between components of the device 10.

The memory 14 may include one or more different types of memory whichmay be accessed by the processor 12 to perform device functions. Forexample, the memory 14 may include any suitable non-volatile memory suchas read-only memory (ROM), electrically erasable programmable read onlymemory (EEPROM), flash memory, and the like, and any suitable volatilememory including various types of random access memory (RAM) and thelike.

The communications circuitry 13 may include circuitry for wired orwireless communications for short-range and/or long range communication.For example, the wireless communication circuitry may include Wi-Fienabling circuitry for one of the 802.11 standards, and circuitry forother wireless network protocols including Bluetooth, the Global Systemfor Mobile Communications (GSM), and code division multiple access(CDMA) based wireless protocols. Communications circuitry 13 may alsoinclude circuitry that enables the device 10 to be electrically coupledto another device (e.g. a computer or an accessory device) andcommunicate with that other device. For example, a user input componentsuch as a wearable device may communicate with the device 10 through thecommunication circuitry 13 using a short-range communication techniquesuch as infrared (IR) or other suitable technique.

The storage 15 may store software (e.g., for implementing variousfunctions on device 10), and any other suitable data. The storage 15 mayinclude a storage medium including various forms volatile andnon-volatile memory. Typically, the storage 15 includes a form ofnon-volatile memory such as a hard-drive, solid state drive, flashdrive, and the like. The storage 15 may be integral with the device 10or may be separate and accessed through an interface to receive a memorycard, USB drive, optical disk, a magnetic storage medium, and the like.

An I/O controller 16 may allow connectivity to a display 18 and one ormore I/O devices 17. The I/O controller 16 may include hardware and/orsoftware for managing and processing various types of I/O devices 17.The I/O devices 17 may include various types of devices allowing a userto interact with the device 10. For example, the I/O devices 17 mayinclude various input components such as a keyboard/keypad, controller(e.g. game controller, remote, etc.) including a smartphone that may actas a controller, a microphone, and other suitable components. The I/Odevices 17 may also include components for aiding in the detection ofgestures including wearable components such as a watch, ring, or othercomponents that may be used to track body movements (e.g. holding asmartphone to detect movements).

The device 10 may be or may not be coupled to a display. Inimplementations where the device 10 is coupled to a display (as shown inFIG. 3), the device 10 may be integrated with or be part of a display 18(e.g. integrated into a television unit). The display 18 may be any asuitable component for displaying visual output such as a television,computer screen, projector, and the like. The display 18 may include aninterface that allows a user to interact with the display 18 oradditional components coupled to the device 10. The interface mayinclude menus, overlays, and other display elements that are displayedon a display screen to provide visual feedback to the user includingdisplaying (e.g. playing) one or more content items. As referred toherein, a content item may include music, video, documents, applications(e.g. “apps”), and others forms of media and/or content.

The device 10 may include a capture device 19 (as shown in FIG. 1).Alternatively, the device 10 may be coupled to the capture device 19through the I/O controller 16 in a similar manner as described withrespect to a display 18. For example, a computing device (e.g. serverand/or a remote processor) may receive data from one or more capturedevices 19 (e.g. cameras disbursed around a room) that are local to theuser. The capture device 19 may also be part of a wearable componentsuch as glasses worn by a user. The capture device 19 enables the device10 to capture still images, video, or both. The capture device 19 mayinclude one or more cameras for capturing an image or series of imagescontinuously, periodically, at select times, and/or under selectconditions. The capture device 19 may be used to visually monitor one ormore users such that gestures and/or movements performed by the one ormore users may be captured, analyzed, and tracked to detect a gestureinput as described further herein.

The capture device 19 may be configured to capture depth informationincluding a depth image using techniques such as time-of-flight,structured light, stereo image, or other suitable techniques. The depthimage may include a two-dimensional pixel area of the captured imagewhere each pixel in the two-dimensional area may represent a depth valuesuch as a distance. The capture device 19 may include two or morephysically separated cameras that may view a scene from different anglesto obtain visual stereo data to generate depth information. Othertechniques of depth imaging may also be used. The capture device 19 mayalso include additional components for capturing depth information of anenvironment such as an IR light component, a three-dimensional camera,and a visual image camera (e.g. RGB camera). For example, withtime-of-flight analysis the IR light component may emit an infraredlight onto the scene and may then use sensors to detect thebackscattered light from the surface of one or more targets (e.g. users)in the scene using a three-dimensional camera or RGB camera. In someinstances, pulsed infrared light may be used such that the time betweenan outgoing light pulse and a corresponding incoming light pulse may bemeasured and used to determine a physical distance from the capturedevice 19 to a particular location on a target.

The device 10 may be relatively compact, for example in implementationswhere the device 10 is a handheld device, enabling a user to easilymanipulate the device's position, orientation, and movement.Accordingly, the device 10 may include components for sensing changes inposition, orientation, and movement such as a GPS sensor, gyroscope,accelerometer, magnetometer, proximity sensor, lux meter, and/or othersensing components. Further, the device 10 may include a vibrationsource to facilitate a sending motion, vibration, and/or other movementinformation to a user during operation of the device 10.

FIG. 2 illustrates an example network arrangement according to animplementation of the disclosed subject matter. A device 10 maycommunicate with other devices 10, a server 20, which may include aprocessor 12 as described above, and a database 24 via the network 22.The network 22 may be a local network, wide-area network (including theInternet), and other suitable communications network. The network 22 maybe implemented on any suitable platform including wired and wirelesstechnologies. Server 20 may be directly accessible by a device 10, orone or more other devices 10 may provide intermediary access to a server20. The device 10 and server 20 may access a remote platform 26 such ascloud computing arrangement or service. The remote platform 26 mayinclude one or more servers 20 and databases 24. The term server may beused herein and may include a single server or one or more servers.

FIG. 3 illustrates an example arrangement of a device capturing gesturemovements according to an implementation of the disclosed subjectmatter. The example of FIG. 3 includes a device 10 that is coupled to adisplay 18, which may display output including gesture feedbackinformation. The user 30 may interact with a device 10 by performingvarious gestures as described further herein. Gesture detection may bebased on measuring and recognizing various body movements of the user30. When performing gesture detection, specific gestures may be detectedbased on information defining a gesture, condition, or otherinformation. For example, gestures may be recognized based oninformation such as a distance of movement (either absolute or relativeto the size of the user), a threshold velocity of the movement, aconfidence rating, and other criteria. The criteria for detecting agesture may vary between applications and between contexts of a singleapplication including variance over time.

Typically, a gesture may include a hand movement, but other forms ofgestures may also be recognized. For example, a gesture may includemovements from a user's arms, legs, feet, and other movements such asbody positioning or other types of identifiable movements from a user.These identifiable movements may also include head movements includingnodding, shaking, etc., as well as facial movements such as eyetracking, and/or blinking. In addition, gesture detection may be basedon combinations of movements described above including being coupledwith voice commands, gestures from other users, and/or other parameters.For example, a gesture may be identified based on a hand movement incombination with tracking the movement of the user's eyes, or handmovement of another user, and/or a hand movement in coordination with avoice command.

Gestures may include in-air type gestures that may be performed within athree-dimensional environment. In addition, these in-air gestures mayinclude touchless gestures that do not require inputs to a touchsurface. As described, the gesture may include movements within athree-dimensional space, and accordingly, the three-dimensional spacemay be described based on a coordinate system and/or one or more axessuch as an X-axis 32, Y-axis 34, and Z-axis 36. In an implementation,these axes may be defined relative to a capture device 19 as shown inFIG. 3. For example, the X-axis 32 may be substantially parallel to thedisplay 18 and substantially perpendicular to the torso of the user 30.The Y-axis 34 may be substantially parallel to the display 18 andsubstantially parallel to the torso of the user 30. The Z-axis may besubstantially perpendicular to the display 18 and substantiallyperpendicular to the torso of the user 30. In addition to defining axesin the manner described above, the axes may be established using variousreferences. For example, axes may be established relative to the capturedevice 19 and/or display 18 (as shown in FIG. 3), relative to a userposition (e.g. relative to the user's torso and/or face), relative tothe alignment of two users, relative to a gesture movement, and/or othertechniques. Accordingly, the device may utilize reference points on theuser's body that provide a natural point of reference when performinggestures. For example, the device may select a point on a centralportion of the body of a user as a reference point (e.g. origin of acoordinate system) when tracking body movements such as the center of achest, sternum, solar plexus, center of gravity, or within regions suchas the thorax, abdomen, pelvis, and the like. One or more axes may alsobe defined and/or established based on these reference points. Forexample, in an implementation, the X-axis may be defined assubstantially parallel to a line connecting a left and a right shoulderof the user, the Y-axis may be defined as substantially parallel to aline connecting a head and a pelvis of the user (or parallel to atorso), and the Z-axis may be defined as substantially perpendicular tothe X-axis and Y-axis. In another example, a user may perform asubstantially up/down gesture movement and a Y-axis may be defined basedon this movement. In yet another example, the device may use a handand/or an initial movement of a hand to establish a point of origin fora coordinate system. For instance, a user may perform an open palmgesture, and in response, the device may establish a point of originwithin the palm of the hand. Accordingly, a Y-axis may be defined assubstantially along the established point on the palm to a point (e.g.fingertip) of the corresponding index or middle finger (the X-axis andZ-axis may then be defined based on the defined Y-axis).

As described herein, an axis may be described with reference to theuser's body. It should be noted that these references may be used indescriptions provided herein, but are illustrative of the axes and maynot necessarily correspond directly to techniques used by the computingdevice to define and/or determine an axis in a specific configuration.For example, an axis may be described as being defined by a lineconnecting a left shoulder and right shoulder, but the device may useother techniques such as multiple points including points on the head,pelvis, etc. Accordingly, the computing device may use differentreference points to define substantially equivalent axes as describedherein for gesture movements in order to distinguish between, forexample, left/right, forward/back, and up/down movements as perceived bythe user.

FIG. 4 illustrates a flow diagram of a computing device recognizinggestures according to an implementation of the disclosed subject matter.In 402, a computing device (or “device”) may detect a user within afield-of-view of a capture device (e.g. capture device 19) operativelycoupled to the device. Detecting may include the device performing theactual detection and/or the device receiving and indication that one ormore users have been detected by the capture device. For example, adevice (e.g. a processor on a server 20) may receive an indication froma remotely located capture device (e.g. capture device 19) that a userhas been detected. The device may detect a user based on detectingparticular shapes (e.g. face) that may correspond to a user, motion(e.g. via a motion detector that may be part of or separate from thecapture device), sound (e.g. a speech command), and/or other forms ofstimuli. The device may detect the entire body of a user or portions ofthe user. Upon detecting a user, the device may initiate gesturedetection. As described above, gesture detection may track a position ofa user including particular features (e.g. hands, face, etc.) and/or aposition, orientation, and/or movement of a device.

The device may also determine the number of users within afield-of-view. A field-of-view as described herein may include an areaperceptible by one or more capture devices (e.g. perceptible visualarea). The device may determine one or more identities of users detectedby the capture device. The device may identify a user based on usercredentials (e.g. logging into a user account) and/or recognitiontechniques such as facial recognition, fingerprint recognition, and/orvoice recognition. The device may attempt to identify a user in order toperform contextual or user specific actions. For example, the device mayidentify a user in order to transfer content from one device to anotherdevice, which may be associated with the identified user. In anotherexample, the device may disambiguate a gesture such as a pointinggesture to determine the identity of the user that is being referenced.In yet another example, the device may disambiguate words of a speechcommand that may supplement a gesture. For example, these speechcommands may include words such as personal pronouns (e.g. “open mycalendar,” “send him this picture,” etc.), which may be disambiguated.

In 404, the computing device may detect a first gesture performed by thefirst user. In an implementation, the user may perform the first gesturewhile holding a first device with a first hand. For example, a user mayperform an intuitive gesture to transfer or share content from onedevice to another device. In real-life situations, a user may show thedisplay screen of a device to another user to allow them to view thecontent displayed on the device. Accordingly, a gesture may mimic thisphysical analogy when sharing and/or transferring content. For example,a user may perform a gesture that shows the display screen of a firstdevice (e.g. smartphone or tablet) to a second device (e.g. televisionor smart television). This gesture may occur while the display screen isdisplaying a content item, and accordingly, the television mayseamlessly begin displaying the content item. The computing device mayquery the first device for information (e.g. via a network) regardingthe content item (e.g. playback time). For example, if video content isplaying on the tablet, playback of the video may seamlessly continue onthe television from the point at which the gesture was performed.

FIG. 5 illustrates an example of a user gesturing by showing a displayscreen of a first device to a second device according to animplementation of the disclosed subject matter. As shown in thisexample, a user may perform a gesture while holding a first device 54(in this case a handheld device) with a first hand 52. The gesture mayinclude positioning the first device 54 such that a display screen ofthe first device 54 is facing (or shown to) the second device 56 (inthis case a television). In order to determine an orientation of thefirst device 54, the computing device may receive orientationinformation from one or more sensors of the first device 54 (and/orsecond device 56). For example, information from a gyroscope and/oraccelerometer on the first device 54 may be coupled with informationfrom a capture device to determine that the first device 54 has beenmanipulated (e.g. rotated, elevated, etc.) in a manner such as to showthe display screen of the first device 54 to the television.

A user may perform an intuitive gesture to transfer or share contentfrom one device and/or user to another device and/or user by othertechniques. In another implementation, the first gesture may includepositioning the first device proximal to a second hand of a second user.In real-life situations, a user may share an item by physicallytransferring it from the hand of one person to another. Accordingly, agesture may mimic this real-word physical interaction when transferringand/or sharing. For example, a user may perform a gesture that positionsa device within a predefined proximity of a hand of another user. Whenperforming such a gesture, the computing device may also determine anorientation of the second user's hand. For example, an open palm mayprovide an indication that the second user is prepared to receive thedevice.

FIG. 6 illustrates an example of a user gesturing by positioning adevice proximal to a hand of another user according to an implementationof the disclosed subject matter. As shown, the gesture may includepositioning the first device 54 that is held by a first hand of a firstuser 52 proximal to a second hand of a second user 62. As shown, thesecond hand may include a substantially open palm, which the computingdevice may also detect.

The computing device may also detect a second and third gesture. In animplementation, the second gesture may be performed by the second handof the first user and may include touching a content item displayed on adisplay screen of the first device. In addition, the third gesture maybe performed by the second hand of the first user and may includetouching a second device with the first hand.

FIG. 7 illustrates an example of a user gesturing by touching a firstdevice and then a second device according to an implementation of thedisclosed subject matter. As shown, a second gesture 72 may includetouching a first device 73 and then a third gesture 73 performed afterthe second gesture may include touching a second device 75. For example,a user may touch a content item on the first device and then transferthe content item to the second device by touching the second device.Accordingly, the gesture may mimic physically transferring a contentitem by being virtually contained in the touch gestures. In anotherexample, a first user may touch a content item and then a second usermay touch the content item to transfer the item from the first user tothe second user. In such a scenario, a computing device may, forexample, identify one or both users via a finger recognition technique.

Returning to FIG. 4, in 406, the computing device may identify a firstdevice and/or a second device. This may occur prior to, during, or afterdetecting a gesture. For example, the computing device may identify thefirst device, and other devices within the field-of-view of the capturedevice, prior to detecting a gesture by taking an inventory of devicesupon detecting a user within the field-of-view of the capture device. Inanother example, the computing device may receive positional data fromthe first device contemporaneously to the detection of a gesture. Byidentifying a device, the computing device may transfer and/or sharecontent items as described above to the appropriate devices.

In 408, the computing device may send, in response to the detected firstgesture, an instruction to the first device to perform an action. Thisinstruction may be sent through a network to one or more devices. Theaction may also include transferring the content item to the seconddevice. For example, the first device may initiate a transfer (e.g. viathe network) of a content item to the second device. In addition, theaction may include authorizing the second device to access the contentitem. For example, after granting access to the content item by thesecond device, the second device may access the content item from aremote source (e.g. cloud service). The device may also measure thedetected gesture movements, and accordingly, actions may be based on themeasured movements. The instructions may also initiate other types ofactions and/or commands. For example, actions may include, but are notlimited to, to control of the device (e.g. turn on or off, louder,softer, increase, decrease, mute, output, clear, erase, brighten,darken, etc.), communications (e.g. e-mail, mail, call, contact, send,receive, get, post, tweet, text, etc.), document processing (e.g. cut,paste, open, load, close, edit, save, undo, replace, delete, insert,format, etc.), searches (e.g., find, search, look for, locate, etc.),content delivery (e.g. show, play, display), and/or other actions and/orcommands.

In situations in which the implementations of the disclosed subjectmatter collect and/or use personal information about users (e.g.identity information), the system may provide users with the ability tocontrol and/or set preferences related to the collection of such data.In addition, certain information may be treated in one or more waysbefore it is stored and/or used, so that personally identifiableinformation is removed. For example, a user may be provided with theoption to remain anonymous or not be identified through a recognitionfunction as described herein.

Various implementations may include or be embodied in the form ofcomputer-implemented process and an apparatus for practicing thatprocess. Implementations may also be embodied in the form of acomputer-readable storage containing instructions embodied in anon-transitory and tangible storage and/or memory, wherein, when theinstructions are loaded into and executed by a computer (or processor),the computer becomes an apparatus for practicing implementations of thedisclosed subject matter.

The flow diagrams described herein are included as examples. There maybe variations to these diagrams or the steps (or operations) describedtherein without departing from the implementations described herein. Forinstance, the steps may be performed in parallel, simultaneously, adiffering order, or steps may be added, deleted, or modified. Similarly,the block diagrams described herein are included as examples. Theseconfigurations are not exhaustive of all the components and there may bevariations to these diagrams. Other arrangements and components may beused without departing from the implementations described herein. Forinstance, components may be added, omitted, and may interact in variousways known to an ordinary person skilled in the art.

References to “one implementation,” “an implementation,” “an exampleimplementation,” and the like, indicate that the implementationdescribed may include a particular feature, but every implementation maynot necessarily include the feature. Moreover, such phrases are notnecessarily referring to the same implementation. Further, when aparticular feature is described in connection with an implementation,such feature may be included in other implementations whether or notexplicitly described. The term “substantially” may be used herein inassociation with a claim recitation and may be interpreted as “as nearlyas practicable,” “within technical limitations,” and the like. Termssuch as first, second, etc. may be used herein to describe variouselements, and these elements should not be limited by these terms. Theseterms may be used distinguish one element from another. For example, afirst gesture may be termed a second gesture, and, similarly, a secondgesture may be termed a first gesture.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific implementations. However, theillustrative discussions above are not intended to be exhaustive or tolimit implementations of the disclosed subject matter to the preciseforms disclosed. The implementations were chosen and described in orderto explain the principles of implementations of the disclosed subjectmatter and their practical applications, to thereby enable othersskilled in the art to utilize those implementations as well as variousimplementations with various modifications as may be suited to theparticular use contemplated.

1-18. (canceled)
 19. A computer-implemented method comprising: obtaining an image by a first computing device that includes at least a first camera and a first display; determining that the image shows a user performing a gesture that involves the user holding a second display of a second computing device toward the first camera of the first computing device; in response to determining that the image shows the user performing the gesture, identifying content that is displayed on the second display of the second computing device; and providing, for display, at least a portion of the content on the first display of the first computing device.
 20. The computer-implemented method of claim 19, comprising transmitting, to the second computing device, a request to identify the content that is displayed on the second display of the second computing device, and receiving, in response to the request, a response that identifies the content.
 21. The computer-implemented method of claim 19, comprising: receiving data generated by a first sensor of the second computing device; determining, based at least on the received data, that the second display of the second computing device is facing the first computing device; and wherein the content that is displayed on the second display of the second computing device is identified further in response to determining that the second display of the second computing device is facing the first computing device.
 22. The computer-implemented method of claim 19, comprising: determining an identity of the user that is holding the second computing device; and wherein identifying content that is displayed on the second display of the second computing device comprises identifying content that is displayed on the second display of the second computing device based at least on the identity of the user that is holding the second computing device.
 23. The computer-implemented method of claim 19, comprising, before identifying content that is displayed on the second display of the second computing device, transmitting an instruction to the second computing device to request access by the first computing device to content that is displayed on the second display of the second computing device.
 24. The computer-implemented method of claim 23, comprising receiving the identified content from a remote source that is other than the second computing device.
 25. A computer-implemented method comprising: obtaining an image; determining that the image shows a first user performing a gesture that involves the first user passing a mobile computing device, or about to pass the mobile computing device, to a second user; and in response to determining that the image shows the user performing the gesture, identifying (i) content on the mobile computing device, and (ii) a computing device associated with the second user; and providing the computing device associated with the second user with access to at least a portion of the content.
 26. The computer-implemented method of claim 25, wherein determining that the image shows a first user performing a gesture that involves the first user passing a mobile computing device, or about to pass the mobile computing device, to a second user, further comprises determining that a hand of the second user is oriented in a manner such as to allow the hand of the second user to receive the mobile computing device.
 27. The computer-implemented method of claim 25, comprising transmitting, to the mobile computing device, a request to identify the content on the mobile computing device, and receiving, in response to the request, a response that identifies the content.
 28. The computer-implemented method of claim 25, comprising: determining an identity of the first user of the mobile device; and wherein the content on the mobile computing device is identified based at least on the identity of the first user of the mobile device.
 29. The computer-implemented method of claim 25, comprising, before identifying content on the mobile computing device, transmitting an instruction to the mobile computing device to request access by the computing device associated with the second user to content on the mobile device.
 30. The computer-implemented method of claim 29, comprising receiving the identified content from a remote source that is other than the mobile computing device
 31. A computer-implemented method comprising: obtaining multiple images; determining that the multiple images include (i) a first image that shows a user performing a gesture that involves the user touching a first display of a first computing device, and (ii) a second image that shows the user performing a gesture that involves the user touching a second display of a second computing device; in response to determining that the multiple images include (i) the first image that shows a user performing a gesture that involves the user touching the first display of the first computing device, and (ii) the second image that shows the user performing a gesture that involves the user touching the second display of the second computing device, identifying content that is displayed on the first display of the first computing device; and providing the second computing device with access to at least a portion of the content.
 32. The computer-implemented method of claim 31, comprising transmitting, to the first computing device, a request to identify the content that is displayed on the first display of the first computing device, and receiving, in response to the request, a response that identifies the content.
 33. The computer-implemented method of claim 31, comprising: determining an identity of the user; and wherein identifying content that is displayed on the first display of the first computing device comprises identifying content that is displayed on the first display of the first computing device based at least on the identity of the user.
 34. The computer-implemented method of claim 31, comprising, before identifying content that is displayed on the first display of the first computing device, transmitting an instruction to the first computing device to request access by the second computing device to content that is displayed on the first display of the first computing device.
 35. The computer-implemented method of claim 34, comprising receiving the identified content from a remote source that is other than the first computing device
 36. The computer-implemented method of claim 31, wherein the portion of the content comprises a content item associated with an area of the first display touched by the user. 